1. Technical Field
This application relates to the field of storing data, and more particularly to the field of synchronizing data storage between devices.
2. Description of Related Art
A user may want to be able to access his or her personal digital information (files, music, photos, email, calendars, etc.) on any one of a number of numerous devices owned by the user (e.g., a home computer, a work computer, a laptop, a netbook, a PDA, a cell phone, etc). This may be facilitated by permanently or periodically coupling an accessible central storage device (i.e., a cloud), which may be used to transfer data between the user's devices. Accessible central storage devices include EMC's Atmos™ on-line storage product, EMC's Decho on-line personal information management product, and Amazon's S3 product, all of which are accessible via the Internet. Data files that are changed/created on one of the devices may be uploaded to the cloud and then subsequently downloaded to the remaining devices. In other instances, data files may be transferred between devices without first going through the cloud.
However, in some cases, communication with the cloud and/or each other is relatively slow for at least some of the devices and/or there is a relatively large amount of data. For example, in some cases a complete on-line backup of a user's data could take weeks. Also, communication bandwidth issues aside, some of the devices may have a relatively low memory capacity (e.g., a cell phone), and thus may not be able to accept all of the user's data. Accordingly it may not be feasible to simply copy all data to all devices.
One way to address this is to not copy any data to any device unless and until the user explicitly/manually requests a specific file on a specific device. However, this solution requires the user to remember to specify exactly which files should be copied, and to manually discard files as each device gets full. The user must also keep track of which files have been modified on which devices. For relatively large numbers of files and devices, this may not be practical.
Another solution is to provide a rule-based system that allows users to define rules for which data subsets are to be copied to which devices. However, this forces the user to create rules at the start of the process and maintain the rules over time. If a user creates new data files but does not provide corresponding rules for copying the new files, the user may not get the files transferred on to the desired device.
Thus, it would be desirable to provide be able to automatically estimate the relative importance of portions of the user's personal information and pro-actively copy the most-important elements and/or discard unimportant elements using a data file synchronization technique that addresses shortcomings of known data synchronization techniques.